textview: Unparent the emoji chooser on dispose
authorCarlos Garcia Campos <cgarcia@igalia.com>
Tue, 2 Jun 2020 14:32:13 +0000 (16:32 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Tue, 2 Jun 2020 14:47:56 +0000 (16:47 +0200)
This was causing the warning "GtkEmojiChooser is not a child of
GtkTextView" when destroying a GtkTextView if the emoji chooser was
shown.

gtk/gtktextview.c

index d69e1b15467c94bdba0d59772a5eab3bcc343e47..d186b4941bc5051d3bf728ee1013ba5b8236e284 100644 (file)
@@ -3766,6 +3766,13 @@ gtk_text_view_dispose (GObject *object)
   GtkTextViewPrivate *priv = text_view->priv;
   GtkWidget *child;
 
+  child = g_object_get_data (object, "gtk-emoji-chooser");
+  if (child)
+    {
+      gtk_widget_unparent (child);
+      g_object_set_data (object, "gtk-emoji-chooser", NULL);
+    }
+
   while ((child = gtk_widget_get_first_child (GTK_WIDGET (text_view))))
     gtk_text_view_remove (text_view, child);